'use strict';
const moment = require('moment');
 
module.exports = app => {
    const { STRING, INTEGER,DATE } = app.Sequelize; 
    const Token = app.model.define('token',
        {
        id:{primaryKey: true,type: INTEGER,  autoIncrement: true},
        userId: {// 
            type: INTEGER(30), 
            allowNull: false
         }, //用户id
        token:{// 
            type: STRING(1000), 
            allowNull: false
         },
        end_time:DATE(),// 
        createdAt: {//自定义时间格式
            type: DATE(),
            get() {
                return moment(this.getDataValue('createdAt')).format('YYYY-MM-DD HH:mm:ss');
            }
          },
          updatedAt: {
              type: DATE(),
              get() {
                  return moment(this.getDataValue('updatedAt')).format('YYYY-MM-DD HH:mm:ss');
              }
          }

        },
        {
            freezeTableName: true, // Model 对应的表名将与model名相同
            timestamps: true,//自动添加createdAt、updatedAt两个字段，分别表示创建和更新时间,且时间是实际时间,表里显示的是2019-02-13 23:50:20
            underscored: false,////不要改此   false: 字段以下划线（_）来分割（默认是驼峰命名风格）
           
        }
    ); 
    

    Token.associate = () => {
        // console.log("--------------====")
       app.model.Token.belongsTo(app.model.User, {
          as: 'user',
          onDelete: 'CASCADE',
        foreignKey: 'userId', //此userId 与 user表的 id  是对应的
        })
      }
    return Token;
};